<?php

namespace app\rest\controller;

use think\Controller;
use think\Db;
use think\Request;
use app\rest\model\User as UserModel;

class User extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $list = Db::name('user')
            ->field('id,name')
            ->order('id', 'asc')
            ->select();
//        dump($list);

        return view('user/index',[
            'title'=>'数据列表',
            'list'=>$list
        ]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return view('user/create',[
            'title'=>'添加个用户啊',
        ]);
    }

    /**
     * 保存新建的资源
     *
     * @param \think\Request $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
//        $p=$request->post();
//
////        $p=Request::instance()->post()['name'];
////        $p=input('post.');
////        dump($p);
//        $data=[
//            'name'=>$p['name'],
//            'pass'=>md5($p['pass']),
//            'sex'=>$p['sex'],
//            'age'=>$p['age'],
//            'tel'=>$p['tel'],
//            'province'=>$p['province'],
//        ];
//
//        $result=Db::name('user')
//            ->data($data)
//            ->insert();
////        dump($result);
//        if ($result>0){
//            return $this->success('成功了,狗子','rest/user/index');
//        }else{
//            return $this->error('失败,傻子');
//
//        }
        $p=$request->post();
        $model=new UserModel($p);

        $model->pass=md5($p['pass']);

       $result= $model->allowfield(true)->save();
       dump($result);
        if ($result>0){
            return $this->success('成功了,狗子','rest/user/index');

        }else{
            return $this->error('失败,傻子');
        }
    }


    /**
     * 显示指定的资源
     *
     * @param int $id
     * @return \think\Response
     */
    public function read($id)
    {
      $row= Db::name('user')
           ->field(['pass','status'],true)
          ->find($id);
//      return $row;
        if ($row===null){
            $info['status']=false;
            $info['code']=404;
            $info['title']= '么有此人';
            $info['datas']= '没有数据';


        }else{
            $info['status']=true;
            $info['code']=200;
            $info['title']= $row['name'];
            $info['datas']= $row;
        }


        return json($info);
    }


    /**
     * 显示指定的资源,页面
     *
     * @param int $id
     * @return \think\Response
     */
    public function readpage($id)
    {
        $row= Db::name('user')
            ->field(['pass','status'],true)
            ->find($id);

//        dump($row);
        return view('user/show',[
            'title'=>$row['name'] . '的用户信息',
            'row'=>$row,
        ]);
    }




    /**
     * 显示编辑资源表单页.
     *
     * @param int $id
     * @return \think\Response
     */
    public function edit($id)
    {
        $row= Db::name('user')
            ->field(['pass','status'],true)
            ->find($id);

//        dump($row);
        return view('user/edit',[
            'title'=>$row['name'] . '的用户信息',
            'data'=>$row,
            ]);
    }

    /**
     * 保存更新的资源
     *
     * @param \think\Request $request
     * @param int $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $info=$request->put();
//        dump($info);

        $data=[
            'name'=>$info['name'],
            'sex'=>$info['sex'],
            'age'=>$info['age'],
            'tel'=>$info['tel'],
            'province'=>$info['province'],
        ];

        $result=Db::name('user')
            ->where('id',$id)
            ->update($data);
        dump($result);
        if ($result){
            return $this->success('xiugai成功了,狗子','rest/user/index');
        }else{
            return $this->error('失败,傻子');

        }
    }

    /**
     * 删除指定资源
     *
     * @param int $id
     * @return \think\Response
     */
    public function delete($id)
    {
       $data= Db::name('user')->delete($id);
       if ($data>0){
           $info['status']=true;
           $info['code']=200;
           $info['info']= $id.'的用户删除成功';
       }else{
           $info['status']=false;
           $info['code']=404;
           $info['info']= $id.'的用户删除失败';
       }


        return json($info);
    }
}
